package net.extrema.td.db;

import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;

/**
 * Rappresentazione di un record a database della tabella download.
 * @author Libanori Marco
 */
@Entity
class Downloads {

    /**
     * Chiave del record a database.
     */
    @EmbeddedId
    private DownloadKey key;

    /**
     * Nome del blog.
     */
    @Column(
            nullable = false)
    private String blogName;

    /**
     * Restituisce il nome del blog.
     * @return Il nome del blog
     */
    String getBlogName() {
        return blogName;
    }

    /**
     * Ritorna la chiave del download.
     * @return the key
     */
    protected final DownloadKey getKey() {
        return key;
    }

    /**
     * Setta il nome del blog.
     * @param newBlogName Il nome del blog
     */
    void setBlogName(final String newBlogName) {
        this.blogName = newBlogName;
    }

    /**
     * Setta la chiave del download.
     * @param newKey L'istanza della chiave
     */
    protected final void setKey(final DownloadKey newKey) {
        this.key = newKey;
    }
}
